package com.ruoyi.system.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 反馈与投诉对象 ho_feedback_complaint
 *
 * @author ruoyi
 * @date 2025-01-10
 */
public class HoFeedbackComplaint extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    private Long id;

    /**
     * 匿名
     */
    @Excel(name = "匿名")
    private String anonymous;

    /**
     * 提交时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date submissionTime;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String name;

    /**
     * 电子邮件
     */
    @Excel(name = "电子邮件")
    private String email;

    /**
     * 电话
     */
    @Excel(name = "电话")
    private String phone;

    /**
     * 投诉类型
     */
    @Excel(name = "投诉类型")
    private String feedbackType;

    /**
     * 附件
     */
    @Excel(name = "附件")
    private String attachment;

    /**
     * 处理状态
     */
    @Excel(name = "处理状态")
    private String status;

    /**
     * 后续跟进
     */
    @Excel(name = "后续跟进")
    private String followUp;

    /**
     * 处理人
     */
    @Excel(name = "处理人")
    private Long processorId;

    /**
     * 处理时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date processingTime;

    /**
     * 处理备注
     */
    @Excel(name = "处理备注")
    private String processingNotes;

    /**
     * 创建用户ID
     */
    @Excel(name = "创建用户ID")
    private Long createUserId;

    /**
     * 修改用户ID
     */
    @Excel(name = "修改用户ID")
    private Long updateUserId;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setAnonymous(String anonymous) {
        this.anonymous = anonymous;
    }

    public String getAnonymous() {
        return anonymous;
    }

    public void setSubmissionTime(Date submissionTime) {
        this.submissionTime = submissionTime;
    }

    public Date getSubmissionTime() {
        return submissionTime;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getEmail() {
        return email;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPhone() {
        return phone;
    }

    public void setFeedbackType(String feedbackType) {
        this.feedbackType = feedbackType;
    }

    public String getFeedbackType() {
        return feedbackType;
    }

    public void setAttachment(String attachment) {
        this.attachment = attachment;
    }

    public String getAttachment() {
        return attachment;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setFollowUp(String followUp) {
        this.followUp = followUp;
    }

    public String getFollowUp() {
        return followUp;
    }

    public void setProcessorId(Long processorId) {
        this.processorId = processorId;
    }

    public Long getProcessorId() {
        return processorId;
    }

    public void setProcessingTime(Date processingTime) {
        this.processingTime = processingTime;
    }

    public Date getProcessingTime() {
        return processingTime;
    }

    public void setProcessingNotes(String processingNotes) {
        this.processingNotes = processingNotes;
    }

    public String getProcessingNotes() {
        return processingNotes;
    }

    public void setCreateUserId(Long createUserId) {
        this.createUserId = createUserId;
    }

    public Long getCreateUserId() {
        return createUserId;
    }

    public void setUpdateUserId(Long updateUserId) {
        this.updateUserId = updateUserId;
    }

    public Long getUpdateUserId() {
        return updateUserId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("anonymous", getAnonymous())
                .append("submissionTime", getSubmissionTime())
                .append("name", getName())
                .append("email", getEmail())
                .append("phone", getPhone())
                .append("feedbackType", getFeedbackType())
                .append("remark", getRemark())
                .append("attachment", getAttachment())
                .append("status", getStatus())
                .append("followUp", getFollowUp())
                .append("processorId", getProcessorId())
                .append("processingTime", getProcessingTime())
                .append("processingNotes", getProcessingNotes())
                .append("createUserId", getCreateUserId())
                .append("createTime", getCreateTime())
                .append("updateUserId", getUpdateUserId())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
